Jupyter
The Jupyter Notebook is an open-source web-app that allows users to write portable documents containing executable code, narrative text, and equations, and to visualize the results of running the code directly in the web browser. The name comes from a combination of the three core programming languages of Jupyter (Julia, Python and R) though Jupyter is not limited to these languages.
Resources
- #CODE Jupyter
- #CODE Jupyterlab
- #CODE Jupyter(hub)
- #CODE Jupyterlite
- #CODE Stickyland
- Break the linear presentation of Jupyter Notebooks with sticky cells
- #CODE Nbterm - Jupyter Notebooks in the terminal
- #CODE Papermill - Parameterize, execute, and analyze notebooks
- #CODE Beaker kernels and extensions
- GitHub - ml-tooling/best-of-jupyter: 🏆 A ranked list of awesome Jupyter Notebook, Hub and Lab projects (extensions, kernels, tools). Updated weekly.
- Juypterbook - Books with Jupyter
- Jupyter everywhere
- Executing notebooks from the command line
$ jupyter nbconvert --to notebook --inplace --ExecutePreprocessor.timeout=None --execute mynotebook.ipynb
- Jupyter Notebooks Meet the Challenge of Reproducibility - The New Stack
- Interactive spreadsheets in Jupyter | by Martin Renou | Towards Data Science
- kepler.gl - powerful open source geospatial analysis tool for large-scale data sets
Jupyter in HPC
-
High-level scripting languages such as Python, R and Julia, have become the go-to choices in the world of Data Science and ML/AI. Project Jupyter exists to develop open-source software, open-standards, and services for interactive computing across dozens of programming languages.
-
Tools in the Jupyter ecosystem are designed in a modular fashion, and behave similarly on a researcher's laptop, a high-performance computing center, or the cloud. As a result, Jupyter technologies have been widely adopted across a spectrum of scientific disciplines, including Earth Sciences (Perez et al. 2019).
-
JupyterHub brings the power of notebooks to groups of users. It gives users access to computational environments and resources without burdening the users with installation and maintenance tasks. These are a few examples of JupyterHub systems running on supercomputing systems:
- University Corporation for Atmospheric Research (UCAR, https://jupyterhub.ucar.edu/)
- CSCS, ETH Zurich (https://jupyter.cscs.ch/hub/login)
- CHPC, University of Utah (https://www.chpc.utah.edu/documentation/software/jupyterhub.php#hub, http://notebook.chpc.utah.edu/)
- Minesota supercomputing institute (https://www.msi.umn.edu/content/msi-beta)
-
A common denominator of these computing platforms is that they allow the interactive execution of Jupyter tools on HPC systems over multiple nodes. The user is offered to choose the job configuration options in order to allocate the resources to be used to run Jupyter: account, number of nodes, access to GPUs, wall-clock time, etc.
-
#PAPER Jupyter as common technology platform for interactive HPC services (Milligan 2018)
-
#PAPER Jupyter meets the Earth: Enabling discovery in geoscience through interactive computing at scale (Perez 2019)
-
#PAPER Interactive Supercomputing with Jupyter (Thomas 2021)